package cn.broadsense.biz.service;

import cn.broadsense.biz.domain.ChannelTag;
import cn.broadsense.biz.dto.ChannelTagTreeDto;
import cn.broadsense.biz.vo.ChannelTagVo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author bs
 * @description 针对表【t_channel_tag(点位标签)】的数据库操作Service
 * @createDate 2023-09-25 16:21:44
 */
public interface ChannelTagService extends IService<ChannelTag> {


    /**
     * 标签树
     *
     * @return
     */
    List<ChannelTagTreeDto> tagTree(Boolean isFilter);

    /**
     * 添加标签
     *
     * @param channelTagVo
     */
    void insertTag(ChannelTagVo channelTagVo);

    /**
     * 关联标签点位
     *
     * @param tagId
     * @param channelIds
     */
    void relationChannel(Long tagId, List<Long> channelIds);

    /**
     * 关联标签点位
     *
     * @param channelId
     * @param tagIds
     */
    void relationChannelV2(Long channelId, List<Long> tagIds);

    /**
     * 根据id删除
     *
     * @param id
     */
    void delete(Long id);

    /**
     * 修改
     *
     * @param id
     * @param tagVo
     */
    void edit(Long id, ChannelTagVo tagVo);

    /**
     * 地图标签树
     *
     * @return
     */
    List<ChannelTagTreeDto> mapTagTree();


    /**
     * 内容树标签
     *
     * @return
     */
    List<ChannelTagTreeDto> contentTreeTag();

    /**
     *
     * 获取点位标签
     *
     * @param channelIds
     * @return
     */
    List<ChannelTag> listByChannelIds(List<Long> channelIds);
}
